ReadAttachments(string) Method (original) (raw)

Summary

Reads the properties of the attachments embedded in the specified file.

Syntax

Parameters

fileName

Owner file that may contain embedded attachments.

Return Value

Collection of CodecsAttachment with the properties of any attachments found.

Example

This example will do the following:

using Leadtools; using Leadtools.Codecs; using Leadtools.ImageProcessing; using Leadtools.ImageProcessing.Color; using Leadtools.Svg; private static void ReadAttachmentsExample(string fileName, string outputDir) { using (RasterCodecs rasterCodecs = new RasterCodecs()) { int attachmentCount; // Get information on the owner file // This step is optional if we are not interested in determining whether the owner file format // or whether it is a PDF portfolio. using (CodecsImageInfo imageInfo = rasterCodecs.GetInformation(fileName, true)) { Debug.WriteLine("Information"); Debug.WriteLine("Format:" + imageInfo.Format); // If PDF, check if it is portfolio if (imageInfo.Format == RasterImageFormat.RasPdf) Debug.WriteLine("IsPortfolio:" + imageInfo.IsPortfolio); attachmentCount = imageInfo.AttachmentCount; Debug.WriteLine("Attachments:" + imageInfo.AttachmentCount); } // Read the properties of the attachments embedded in this file CodecsAttachments attachments = rasterCodecs.ReadAttachments(fileName); if (attachments == null) { // The format either: // - Does not support attachments // - LEADTOOLS does not support reading its attachments Debug.WriteLine("Attachments is not supported for this file format"); return; } // Sanity check Debug.Assert(attachments.Count == attachmentCount); Debug.Assert(attachments.OriginalFormat == RasterImageFormat.Unknown); if (attachments.Count == 0) { Debug.WriteLine("No attachments to extract"); return; } // Create the output directory if it does not exist if (!Directory.Exists(outputDir)) Directory.CreateDirectory(outputDir); // Extract the attachments foreach (CodecsAttachment attachment in attachments) { // Get the output file name string outputFileName = Path.Combine(outputDir, attachment.FileName); var description = attachment.Description; var displayName = attachment.DisplayName; var fileLength = attachment.FileLength; var metaData = attachment.Metadata; var timeCreated = attachment.TimeCreated; var timeModified = attachment.TimeModified; Debug.WriteLine("Extracting attachment to output file: " + outputFileName); rasterCodecs.ExtractAttachment(fileName, attachment.AttachmentNumber, outputFileName); // Show information on this attachment try { using (CodecsImageInfo imageInfo = rasterCodecs.GetInformation(outputFileName, true)) { Debug.WriteLine($" attachment format is {imageInfo.Format} and has {imageInfo.TotalPages} pages"); } } catch (Exception ex) { Debug.WriteLine($" attachment format could not be obtained, error {ex.Message}"); } } } }

Leadtools.Codecs Assembly

CompactFile(Stream,Stream,int,int,bool,int,int,bool,int,CodecsSavePageMode,bool,bool) Method

CompactFile(Stream,Stream,int,int,bool,long,int,bool,long,CodecsSavePageMode,bool,bool,bool) Method

CompactFile(string,string,int,int,bool,int,int,bool,int,CodecsSavePageMode,bool,bool) Method

CompactFile(string,string,int,int,bool,long,int,bool,long,CodecsSavePageMode,bool,bool,bool) Method

StartCompress(int,int,int,RasterByteOrder,RasterViewPerspective,int,byte[],int,int,CodecsCompression,CodecsCompressDataCallback) Method